Many modern day electronic devices contain non-volatile memory, which is able to store data in the absence of power. Non-volatile memory such as magnetoresistive random-access memory (MRAM) and resistive random access memory (RRAM) are promising candidates for next generation non-volatile memory technology due to relative simple structures and their compatibility with complementary metal-oxide-semiconductor (CMOS) logic fabrication processes.